如何在TypeScript中使用类键入数组? | 您所在的位置:网站首页 › typescript 数组类型 › 如何在TypeScript中使用类键入数组? |
我有一个通过运行如下方法进行初始化的应用程序.init(params): app.init([TopBar, StatusBar, MainArea]);其中TopBar,StatusBar和MainArea是类,而不是类的实例。这些类中的每一个都实现相同的接口IComponent。 我想从.init(params)方法中传递的类实例化对象,如下所示: init(params: IComponent[]): void { params.map(function (component) { let comp = new component(); this.components[comp.constructor.name] = comp; }, this);问题在于,由于这些不是实例,因此TypeScript不知道其类型并引发错误: 错误TS2345:类型'((typeof TopBar | typeof StatusBar | typeof MainArea)[]'的参数不能分配给'IComponent []'类型的参数。 如何修复代码,以便可以将实现某些接口的类的数组传递给方法? |
CopyRight 2018-2019 实验室设备网 版权所有 |